/**
 * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
 */
package com.jeesite.modules.st.entity;

import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.jeesite.common.mybatis.annotation.JoinTable;
import com.jeesite.common.mybatis.annotation.JoinTable.Type;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.List;
import com.jeesite.common.collect.ListUtils;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;

/**
 * st_take_stock_billEntity
 * @author HOHD
 * @version 2021-03-09
 */
@Table(name="st_take_stock_bill", alias="a", columns={
		@Column(name="id", attrName="id", label="id", isPK=true),
		@Column(name="bill_no", attrName="billNo", label="bill_no"),
		@Column(name="bill_name", attrName="billName", label="盘点方案名称", queryType=QueryType.LIKE),
		@Column(name="bill_date", attrName="billDate", label="bill_date"),
		@Column(name="take_man_code", attrName="takeManCode", label="take_man_code"),
		@Column(name="take_man", attrName="takeMan", label="take_man"),
		@Column(name="lock_status", attrName="lockStatus", label="锁定物料"),
		@Column(name="inventory_bill", attrName="inventoryBill", label="锁定物料"),
		@Column(name="create_date", attrName="createDate", label="create_date", isUpdate=false, isQuery=false),
	}, orderBy="a.id DESC"
)
public class StTakeStockBill extends DataEntity<StTakeStockBill> {
	
	private static final long serialVersionUID = 1L;
	private String billNo;		// bill_no
	private String billName;		// 盘点方案名称
	private Date billDate;		// bill_date
	private String takeManCode;		// take_man_code
	private String takeMan;		// take_man
	private Integer lockStatus;		// 锁定物料
	private String inventoryBill;
	private List<StTakeStockDetail> stTakeStockDetailList = ListUtils.newArrayList();		// 子表列表

	public String getInventoryBill() {
		return inventoryBill;
	}

	public void setInventoryBill(String inventoryBill) {
		this.inventoryBill = inventoryBill;
	}

	public StTakeStockBill() {
		this(null);
	}

	public StTakeStockBill(String id){
		super(id);
	}
	
	@Length(min=0, max=20, message="bill_no长度不能超过 20 个字符")
	public String getBillNo() {
		return billNo;
	}

	public void setBillNo(String billNo) {
		this.billNo = billNo;
	}
	
	@Length(min=0, max=20, message="盘点方案名称长度不能超过 20 个字符")
	public String getBillName() {
		return billName;
	}

	public void setBillName(String billName) {
		this.billName = billName;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getBillDate() {
		return billDate;
	}

	public void setBillDate(Date billDate) {
		this.billDate = billDate;
	}
	
	@Length(min=0, max=20, message="take_man_code长度不能超过 20 个字符")
	public String getTakeManCode() {
		return takeManCode;
	}

	public void setTakeManCode(String takeManCode) {
		this.takeManCode = takeManCode;
	}
	
	@Length(min=0, max=5, message="take_man长度不能超过 5 个字符")
	public String getTakeMan() {
		return takeMan;
	}

	public void setTakeMan(String takeMan) {
		this.takeMan = takeMan;
	}
	
	public Integer getLockStatus() {
		return lockStatus;
	}

	public void setLockStatus(Integer lockStatus) {
		this.lockStatus = lockStatus;
	}
	
	public List<StTakeStockDetail> getStTakeStockDetailList() {
		return stTakeStockDetailList;
	}

	public void setStTakeStockDetailList(List<StTakeStockDetail> stTakeStockDetailList) {
		this.stTakeStockDetailList = stTakeStockDetailList;
	}
	
}